﻿#include "Application.h"
#include "CommandLine.h"
#include <iostream>


Application::Application(int argc, char** argv)
{
  _command_line = std::make_shared<CommandLine>(argc, argv);
}

Application::~Application() {}

void Application::Run()
{



  //vtkm::cont::ScopedRuntimeDeviceTracker track(tbb);

  PrintLogo(); // 打印logo

  ParseCLI(); //解析命令行

  ParseInputFile(); // 解析配置文件
}
void Application::AddOutput(std::shared_ptr<Output> output)
{
  _owh.push_back(output);
}
void Application::AddUserObject(std::shared_ptr<UserObject> uo)
{
  _uos.push_back(uo);
};

void Application::PrintLogo()
{
  auto logo = R"(
                                                                                       
   @@@@@@@@@     .@@.     =@@@@@@]        @@`      @\       @ 
         =@`     @/=@     =@     \@`     //=@      @\@.     @ 
        /@.     =@  @\    =@     =@^    =@. \\     @ ,@`    @ 
      ,@/      =@`  ,@^   =@   ,/@/    ,@`   @^    @  .@\   @ 
     /@`      ,@\]]]]/@`  =@[[\@`      @\]]]]/@`   @    \@. @ 
   ,@/        @/      \@  =@   ,@^    /@      =@.  @     =@`@ 
  =@\]]]]]]] /@        @\ =@    .@\  =@.       @\  @      ,@@ 
  ---------------------------------------------------------------

)";
  std::cout << logo;
}

void Application::ParseCLI() {}

void Application::ParseInputFile() {}
